"""
正则表示式，又称规则表达式，是使用单个字符串来描述、匹配某个句法规则
的字符串，常用来检索、替换符号规则的数据
分别是：match、search、findall三个基础方法
"""

import re

# match方法从头匹配，匹配成果返回匹配对象，不成功返回空
s = 'python is versy languiga'
result = re.match(r'python is versy languiga', s)
print(result)
print(result.span())
print(result.group())

# search方法搜索整个字符串，找出匹配的，从前往后，找到第一个后，就停止，不会继续向后，整个字符串都找不到返回None
s = 'python is versy languiga'
result = re.search('versy', s)
print(result)
print(result.span())
print(result.group())

# findall 搜索全部匹配，找出全部匹配项，找不到返回空list:[]
result = re.findall('python', s)
print(result)

# 元字符匹配
"""
单字符匹配
- . 匹配任意一个字符，除\n,\. 匹配点本身
- [] 匹配[]中列举的字符
- \d 匹配数字，即0-9
- \D 匹配非数字
- \s 匹配空白、空格、tab键
- \S 匹配非空白
- \w 匹配单词字符，即a-z、A-Z、0-9、_
- \W 匹配非单词字符

边界匹配
- ^ 匹配字符串开头
- $ 匹配字符串结尾
- \b 匹配一个单词的边界
- \B 匹配非单词边界

分组匹配
- | 匹配左右任意一个表达式
- () 将括号中字符作为一个分组
"""